const app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    addressList: '',
    delBtnWidth: 185, //删除按钮宽度单位（rpx）
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onShow: function(options) {
    var that = this;
    //收货地址列表
    app.wxPost(app.globalData.host + '/info/getAddress').then(res => {
      that.setData({
        addressList: res
      })
    });
    this.initEleWidth();
  },



  // 开始滑动事件
  touchS: function (e) {
    if (e.touches.length == 1) {
      this.setData({
        //设置触摸起始点水平方向位置
        startX: e.touches[0].clientX
      });
    }
  },
  touchM: function (e) {
    var that = this;
    if (e.touches.length == 1) {
      //手指移动时水平方向位置
      var moveX = e.touches[0].clientX;
      //手指起始点位置与移动期间的差值
      var disX = this.data.startX - moveX;
      var delBtnWidth = this.data.delBtnWidth;
      // var txtStyle = "";
      if (disX == 0 || disX < 0) { //如果移动距离小于等于0，文本层位置不变
        // txtStyle = "left:0px";
      } else if (disX > 0) { //移动距离大于0，文本层left值等于手指移动距离
        // txtStyle = "left:-" + disX + "px";
        if (disX >= delBtnWidth) {
          //控制手指移动距离最大值为删除按钮的宽度
          // txtStyle = "left:-" + delBtnWidth + "px";
        }
      }
    }
  },
  // 滑动中事件
  touchE: function (e) {
    if (e.changedTouches.length == 1) {
      //手指移动结束后水平位置
      var endX = e.changedTouches[0].clientX;
      //触摸开始与结束，手指移动的距离
      var disX = this.data.startX - endX;
      var delBtnWidth = this.data.delBtnWidth;
      //如果距离小于删除按钮的1/2，不显示删除按钮
      var txtStyle = "";
      txtStyle = disX > delBtnWidth / 2 ? "left:-" + delBtnWidth + "px" : "left:0px";
      //获取手指触摸的是哪一项
      var index = e.target.dataset.index;
      var addressList = this.data.addressList;
      addressList[index].shows = txtStyle;
      //更新列表的状态
      this.setData({
        addressList: addressList
      });
    } else {
    }
  },
  //获取元素自适应后的实际宽度
  getEleWidth: function (w) {
    var real = 0;
    try {
      var res = wx.getSystemInfoSync().windowWidth;
      var scale = (750 / 2) / (w / 2); //以宽度750px设计稿做宽度的自适应
      real = Math.floor(res / scale);
      return real;
    } catch (e) {
      return false;
      // Do something when catch error
    }
  },
  initEleWidth: function () {
    var delBtnWidth = this.getEleWidth(this.data.delBtnWidth);
    this.setData({
      delBtnWidth: delBtnWidth
    });
  },
  //点击删除按钮事件
  delItem: function (e) {
    var that = this;
    // 打印出当前选中的index
    var id = e.currentTarget.dataset.id;
    app.wxPost(app.globalData.host + '/info/delAddress', {
      id: id
    }).then(res => {
      // 获取到列表数据
      var addressList = that.data.addressList;
      // 删除
      addressList.splice(e.currentTarget.dataset.index, 1);
      // 重新渲染
      that.setData({
        addressList: addressList
      })
    })
  },
  editAddress:function(e) {
    var id = e.currentTarget.dataset.id;
    wx.navigateTo({
      url: '../address/address?id=' + id,
    })
  }
})